home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1989 …il & Dave's Excellent CD / Excellent CD HFS.raw / Moof / Goodies / MPW Goodies / Interfaces / CIncludes / OSUtils.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-11-30  |  5.2 KB  |  197 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3. Created: Tuesday, November 22, 1988 at 10:52 AM
  4.     OSUtils.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.     Copyright Apple Computer, Inc.  1985-1988
  9.     All rights reserved
  10.     
  11.     Dont use:
  12.     -SetUpA5
  13.     -RestoreA5
  14.     Instead:
  15.     SetUpA5 --> myA5 = SetCurrentA5();
  16.     RestoreA5 --> oldA5 = SetA5(myA5);
  17.  
  18. ************************************************************/
  19.  
  20.  
  21. #ifndef __OSUTILS__
  22. #define __OSUTILS__
  23.  
  24. #ifndef __TYPES__
  25. #include <Types.h>
  26. #endif
  27.  
  28. #define useFree 0
  29. #define useATalk 1
  30. #define useAsync 2
  31. #define useExtClk 3         /*Externally clocked*/
  32. #define useMIDI 4
  33. #define curSysEnvVers 1     /*Updated to equal latest SysEnvirons version*/
  34. #define macXLMachine 0
  35. #define macMachine 1
  36. #define envMac -1           /*Environs Equates*/
  37. #define envXL -2            /*Environs Equates*/
  38. #define envMachUnknown 0    /*Environs Equates*/
  39. #define env512KE 1          /*Environs Equates*/
  40. #define envMacPlus 2        /*Environs Equates*/
  41. #define envSE 3             /*Environs Equates*/
  42. #define envMacII 4          /*Environs Equates*/
  43. #define envMacIIx 5         /*Environs Equates*/
  44. #define envCPUUnknown 0     /*CPU types*/
  45. #define env68000 1
  46. #define env68010 2
  47. #define env68020 3
  48. #define env68030 4
  49. #define envUnknownKbd 0     /*Keyboard types*/
  50. #define envMacKbd 1
  51. #define envMacAndPad 2
  52. #define envMacPlusKbd 3
  53. #define envAExtendKbd 4
  54. #define envStandADBKbd 5
  55. #define false32b 0          /*24 bit addressing error*/
  56. #define true32b 1           /*32 bit addressing error*/
  57.  
  58. /* result types for RelString Call */
  59.  
  60. #define sortsBefore -1      /*first string < second string*/
  61. #define sortsEqual 0        /*first string = second string*/
  62. #define sortsAfter 1        /*first string > second string*/
  63.  
  64. enum {dummyType,vType,ioQType,drvQType,evType,fsQType };
  65. typedef unsigned short QTypes;
  66.  
  67. enum {OSTrap,ToolTrap};
  68. typedef unsigned char TrapType;
  69.  
  70. struct SysParmType {
  71.     char valid;
  72.     char aTalkA;
  73.     char aTalkB;
  74.     char config;
  75.     short portA;
  76.     short portB;
  77.     long alarm;
  78.     short font;
  79.     short kbdPrint;
  80.     short volClik;
  81.     short misc;
  82. };
  83.  
  84. #ifndef __cplusplus
  85. typedef struct SysParmType SysParmType;
  86. #endif
  87.  
  88. typedef SysParmType *SysPPtr;
  89.  
  90. struct QElem {
  91.     struct QElem *qLink;
  92.     short qType;
  93.     short qData[1];
  94. };
  95.  
  96. #ifndef __cplusplus
  97. typedef struct QElem QElem;
  98. #endif
  99.  
  100. typedef QElem *QElemPtr;
  101.  
  102. struct QHdr {
  103.     short qFlags;
  104.     QElemPtr qHead;
  105.     QElemPtr qTail;
  106. };
  107.  
  108. #ifndef __cplusplus
  109. typedef struct QHdr QHdr;
  110. #endif
  111.  
  112. typedef QHdr *QHdrPtr;
  113.  
  114. struct DateTimeRec {
  115.     short year;
  116.     short month;
  117.     short day;
  118.     short hour;
  119.     short minute;
  120.     short second;
  121.     short dayOfWeek;
  122. };
  123.  
  124. #ifndef __cplusplus
  125. typedef struct DateTimeRec DateTimeRec;
  126. #endif
  127.  
  128. struct SysEnvRec {
  129.     short environsVersion;
  130.     short machineType;
  131.     short systemVersion;
  132.     short processor;
  133.     Boolean hasFPU;
  134.     Boolean hasColorQD;
  135.     short keyBoardType;
  136.     short atDrvrVersNum;
  137.     short sysVRefNum;
  138. };
  139.  
  140. #ifndef __cplusplus
  141. typedef struct SysEnvRec SysEnvRec;
  142. #endif
  143.  
  144. #ifdef __safe_link
  145. extern "C" {
  146. #endif
  147. pascal SysPPtr GetSysPPtr(void); 
  148. pascal void SysBeep(short duration)
  149.     = 0xA9C8; 
  150. pascal long KeyTrans(Ptr transData,short keycode,long *state)
  151.     = 0xA9C3; 
  152. pascal OSErr DTInstall(QElemPtr dtTaskPtr); 
  153. pascal char GetMMUMode(void); 
  154. pascal void SwapMMUMode(char *mode); 
  155. pascal OSErr SysEnvirons(short versionRequested,SysEnvRec *theWorld); 
  156. pascal OSErr ReadDateTime(unsigned long *time); 
  157. pascal void GetDateTime(unsigned long *secs); 
  158. pascal OSErr SetDateTime(unsigned long time); 
  159. pascal void SetTime(const DateTimeRec *d); 
  160. pascal void GetTime(DateTimeRec *d); 
  161. pascal void Date2Secs(const DateTimeRec *d,unsigned long *s); 
  162. pascal void Secs2Date(unsigned long s,DateTimeRec *d); 
  163. pascal void Delay(long numTicks,long *finalTicks); 
  164. pascal long GetTrapAddress(short trapNum); 
  165. pascal void SetTrapAddress(long trapAddr,short trapNum); 
  166. pascal long NGetTrapAddress(short trapNum,TrapType tTyp); 
  167. pascal void NSetTrapAddress(long trapAddr,short trapNum,TrapType tTyp); 
  168. pascal OSErr WriteParam(void); 
  169. pascal Boolean EqualString(const Str255 str1,const Str255 str2,Boolean caseSens,
  170.     Boolean diacSens); 
  171. Boolean equalstring(char *str1,char *str2,Boolean caseSens,Boolean diacSens); 
  172. pascal void UprString(Str255 theString,Boolean diacSens); 
  173. void uprstring(char *theString,Boolean diacSens); 
  174. pascal void Enqueue(QElemPtr qElement,QHdrPtr qHeader); 
  175. pascal OSErr Dequeue(QElemPtr qElement,QHdrPtr qHeader); 
  176. pascal long SetCurrentA5(void)
  177.     = {0x2E8D,0x2A78,0x0904}; 
  178. pascal long SetA5(long newA5)
  179.     = {0x2F4D,0x0004,0x2A5F}; 
  180. pascal void Environs(short *rom,short *machine); 
  181. pascal void Restart(void); 
  182. pascal short RelString(const Str255 str1,const Str255 str2,Boolean caseSens,
  183.     Boolean diacSens); 
  184. short relstring(char *str1,char *str2,Boolean caseSens,Boolean diacSens); 
  185. pascal OSErr HandToHand(Handle *theHndl); 
  186. pascal OSErr PtrToXHand(Ptr srcPtr,Handle dstHndl,long size); 
  187. pascal OSErr PtrToHand(Ptr srcPtr,Handle *dstHndl,long size); 
  188. pascal OSErr HandAndHand(Handle hand1,Handle hand2); 
  189. pascal OSErr PtrAndHand(Ptr ptr1,Handle hand2,long size); 
  190. pascal OSErr InitUtil(void)
  191.     = {0xA03F,0x3E80}; 
  192. #ifdef __safe_link
  193. }
  194. #endif
  195.  
  196. #endif
  197.